1. Field of Invention
The invention relates generally to the fields of managed networks and client devices. In one exemplary aspect, the invention relates to a method of allowing operator control of the display elements of consumer premises equipment (CPE) in a cable television network.
2. Description of Related Technology
The front panel display of CPE such as cable or satellite set-top boxes (STBs) is typically designed to perform the function of providing visual feedback to a user regarding, e.g., the operational state of the device. This feedback could for example include the channel number to which the user is currently tuned, a text string description of the channel, the genre of the channel, and so on. Similarly, the front panel display is used as a display device during CPE setup and diagnostics.
Feedback provided by the front panel display subsystem of a CPE thus constitutes a part of the total user experience offered by a network operator. Hence, network operators have a desire to maintain at least some degree of control over the design, functionality and operation of the front panel display. In conventional television distribution networks where only client devices authorized by the network operator (whether leased or purchased) are allowed to receive programming, maintaining such a control of the display subsystem is effectively achieved through the product specification, testing and approval process.
The recent OpenCable™ initiative managed by CableLabs includes a goal of helping the cable industry deploy interactive services over cable. OpenCable has introduced a set of industry standards, which will help accomplish this goal via three key objectives including defining the next-generation digital consumer device, encouraging supplier competition, and creating a viable retail hardware platform.
The OpenCable project has two key components: a hardware specification and a software specification. The hardware specification allows a receiver, e.g., that can be sold via retail channels, to provide interoperability within various different network environments. The software specification of the OpenCable project, called the OpenCable Applications Platform (OCAP), addresses the issue of proprietary operating system software by creating a common platform upon which interactive services may be deployed.
The OpenCable Applications Platform specification is a middleware software layer specification. OCAP is intended to enable the developers of interactive television services and applications to design such products so that they will run successfully on any cable television system in North America, independent of set-top or television receiver hardware or operating system software choices. A similar project had been undertaken by the Digital Video Broadcasting (DVB) consortium and has produced a specification called Multimedia Home Platform (MHP).
Availability of specifications such as OCAP and MHP enable manufacturers and retail distributors of set-tops, television receivers or other devices to build and to sell attractive and highly capable devices to consumers that support all services delivered by cable operators to devices currently available to consumers (i.e., via lease from the cable operators).
As previously noted, the front panel display of such set-top devices is typically designed to perform the function of providing visual feedback to the viewers regarding the operational state of the device. However, standardized middleware such as MHP and OCAP do not provide a way for the network operator to discover and control front panel functionality of such consumer devices. One problem has been the varied and highly heterogeneous nature of features and functions used to build front panel display elements by various manufacturers. For example, the capabilities of displays based on Light Emitting Diode (LED) technology are often very different from those of displays built using Liquid Crystal Display (LCD).
In many LCD implementations, the front panel display is capable of multiple lines of colored text, or even the display of graphical images or animations. In such cases, the front panel display is generally used as a secondary display to the primary television (or other monitor) screen.
Segmented LED displays, which are typical in many types of CPE, have separate LEDs for representing a colon (:) used for time display, and a period (.), and can be used for floating point number or two part channel numbers. These are special characters not part of any segmented LED. LCDs may not have these characters. LEDs are also used in CPE to indicate to a user the status of operational parameters or functions such as power, radio frequency (RF) bypass, availability of an electronic message, and the activation of a recording mode or similar function.
A variety of approaches to characterizing and/or controlling display elements in a CPE or other device are disclosed in the prior art. For example, U.S. Pat. No. 4,845,644 to Anthias, et al. issued Jul. 4, 1989 and entitled “Data display system” discloses a data display system in which input-output display devices are connected to a central processor, and users select application programs that are run on the central processor. The control-system of the central processor includes a display manager control system and a windowing control mechanism which allows a plurality of tasks to be performed concurrently and the results displayed in areas of a display screen. The display manager includes, means to combine data from each application and build a display representation that shows many windows into the various applications onto a single screen, and means to call the coordination controller identified by the task management application so that the task manager can suspend applications that are waiting for input and resume those applications which have input available.
U.S. Pat. No. 5,175,813 to Golding, et al. issued Dec. 29, 1992 and entitled “Window display system and method for creating multiple scrollable and non-scrollable display regions on a non-programmable computer terminal” discloses a windowing system with interface between application programs and non-programmable terminal drivers. The system presents logical windows to the applications program, each of which are represented internally by at least two separate parts. The first part includes the border and non-scrollable text for a logical window, while the second part includes scrollable text for the window. Through calls to the display driver, the windowing system manipulates these separate parts so that they are displayed on the screen as a single window.
U.S. Pat. No. 5,502,839 to Kolnick issued Mar. 26, 1996 and entitled “Object-oriented software architecture supporting input/output device independence” discloses an object-oriented software architecture that interacts with “real” input/output devices exclusively through “virtual” input/output devices. Since all human interface with the operating system is performed through such virtual devices, the system can accept different forms of real input or output devices. The lowest level of the operating system converts input from a physical device to virtual form and converts virtual output into suitable physical output. A number of physical devices can be connected to, removed from, or replaced in the system without disrupting the system.
U.S. Pat. No. 5,692,142 to Craycroft, et al. issued Nov. 25, 1997 and entitled “Support for custom user-interaction elements in a graphical, event driven computer system” discloses a system whereby support for so-called “custom gadgets” is provided, at a system software level, in a manner that is essentially application-transparent. Specific support is provided for the addition of one custom gadget per window. The custom gadget is identified by a specific numeric code in the same manner as the close and zoom boxes. An application tells the system software what the custom gadget for a particular window should look like. The code responsible for drawing that window's frame then knows where to find the image of the custom gadget and will render it appropriately. When a user clicks in the custom gadget, the system software notifies the application of the event by means of the numeric code associated with the custom gadget.
U.S. Pat. No. 5,831,609 to London, et al. issued Nov. 3, 1998 and entitled “Method and system for dynamic translation between different graphical user interface systems” discloses a translation software that provides remote access to an application program that is executing on a host machine in its native operating system environment. The translation software monitors messages that are relayed from the application program to an application interface that is provided via the native operating system. Upon recognizing a message that affects a graphical user interface of the native operating system, the translation software converts the message into a protocol that is recognized by a remote graphical user interface. By monitoring and converting messages in this fashion, the translation software allows the application program to be displayed remotely.
U.S. Pat. No. 5,973,702 to Orton, et al. issued Oct. 26, 1999 and entitled “Oriented view system having a common window manager for defining application window areas in a screen buffer and application specific view objects for writing into the screen buffer” discloses an object-oriented view system that controls the display of screen graphics for a plurality of application programs, each of which generates graphical information for display in a window assigned to it. The view system has a system window manager which is common to all of the application programs and which defines application window areas on the display screen and corresponding application window storage areas in the display screen buffer. Each application program instantiates a view system object from class information in the computer operating system. Each view system object includes a view object with program code that directly stores screen display information generated by the application into the screen buffer. This arrangement allows the application programs to ostensibly avoid the conventional “bottleneck” that develops when all of the screen display information must be stored in the screen buffer by the common system window manager.
U.S. Pat. No. 6,456,892 to Dara-Abrams, et al. issued Sep. 24, 2002 entitled “Data driven interaction for networked control of a DDI target device over a home entertainment network” discloses a method and system for providing a user interface for a networked target device within a home audio/visual network. The DDI allows any DDI target to describe its physical appearance including controls and displays, etc., to a DDI controller. The controller can be a remote physical device or can be a software program resident on the same or separate device as the target. The controller interfaces with the target to obtain the DDI data and generates a user interface for the target including: 1) interactive controls; and 2) user display information pertinent to the target. The DDI allows the controller to trigger actions on the target as if a user had physically manipulated the controls of the target. The controller and the target are connected to the same communication network. A particular embodiment operates within the HAVi architecture. The controller communicates with the user by using the input and output devices of (typically) the device upon which the controller is executing. This communication can be done in a controller-implementation-dependent manner. The target can be a DCM that controls its device in a implementation-dependent manner. The controller may be written in a generic manner that does not need to be implemented with knowledge of a particular target in mind; all target-dependencies are represented in the DDI data provided by the target to the controller.
United States Patent Publication No. 20050015799 to Park published Jan. 20, 2005 entitled “Apparatus and method for displaying out-of-band channel information in open cable system” discloses an apparatus and a method for displaying out-of-band information without turning on a TV or set-top box in an open cable system. A receiving unit receives an out-of-band signal transmitted from a headend and parses the signal. A storage unit stores the parsed data and a user's display setting. A processing unit loads the user's display setting from the storage unit and processes the data according to the user's display setting. A control unit further processes the processed data and causes the further processed data to be displayed on an auxiliary display or main display, wherein the auxiliary display displays the further processed data in a stand-by mode state.
Despite the foregoing variety of techniques, the prior art does not disclose an adequate mechanism for discovering and controlling the various indigenous display elements of a device such as a set-top box (STB) or satellite receiver. Accordingly, what is needed is a method and apparatus that allows network operators (or others) to discover and control front panel display attributes while enabling broad retail availability and use of the device. Such a method should preferably be implemented with minimal changes to the current specification frameworks such as OCAP and MHP, and would be agnostic or “universal” across the various heterogeneous display system environments and networks in which it would be used.